1. Technological Field
This invention relates to data copy technologies and more particularly relates to facilitating a parallel stripe copy.
2. Background Technology
Write caches are often incorporated into computer systems to increase perceived performance of the computer system. By implementing a write cache, the computer system may store certain data in memory, for example, and later write the data from memory to disk or another persistent storage device. Unfortunately, it is possible to lose the write data in the write cache in a volatile memory, such as random access memory (RAM), if a power failure occurs before the write data is written to persistent storage.
Conventional caching technologies have resulted in various proposed solutions to avoid losing the write data in response to a power loss. In particular, one conventional technology provides secondary, backup power to the memory device. These memory devices are often referred to as battery-backed memory (BBM) devices. A battery may back up the memory device for a long time. For example, some BBM devices are able to maintain write data in the write cache for approximately 72 hours. However, BBM devices can be costly in terms of purchasing and installing these devices. Additionally, BBM devices can take up a relatively large amount of physical space that otherwise might be used for additional computing devices.
Other conventional technologies provide backup power to the write cache, memory, processor, and storage devices long enough store a copy of the write data to persistent storage. These conventional technologies may be categorized into two types of copy operations: serial copies and parallel, ordered copies.
Serial copies, in which two or more copies of the same data are created in persistent storage, are facilitated by making a first copy of the write data and then making a second copy of the write data. These copies may be written to the same or to different persistent storage devices, such as two separate disks. While the redundant copies are typically more secure than only a single copy, the serial nature of the copy operations require that the secondary power source back up the system for a longer period of time in order to make the second copy after the first copy is completed.
Parallel copies, in contrast, take advantage of approximately parallel processing within the processor or multiple processors. Parallel copies also result in redundant copies, but are potentially created more quickly than serial copies. Parallel copies write a first copy to a first disk and a second copy to a second disk at approximately the same time. However, if the backup power fails before the parallel copy operations are completed, the user may lose data at the end of the write cache, even though parallel copies of the beginning portion of the write data may be preserved. In other words, two copies of only part of the data may be stored in persistent storage, but the remaining portion of both copies may be lost.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method for copying data that decreases the opportunity for data loss as a result of a loss of secondary power during the copy operation. Furthermore, a need exists for an apparatus, system, and method for copying data that decreases the length of time during which the system or system components require secondary power to copy the write data from the write cache to persistent storage. Beneficially, such an apparatus, system, and method would overcome the present challenges associated with conventional copy technologies.